perm filename NOTES.AMB[LSP,JRA] blob
sn#096208 filedate 1974-04-08 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00004 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 A significant amount of effort in organizing a projrect of complex
C00004 00003 from ambit/l
C00006 00004 more on G vol 1
C00009 ENDMK
C⊗;
A significant amount of effort in organizing a projrect of complex
non-numerical applications is structuring the data. Partially compexity of
problem mostly paucity of notation. Current pl's notations are
derived for mathe notation...good for numerical but
suppress structural interrelationships. Cf. domain of lLISP
numbers gen for 0 and suc closed...atoms + cons not closed
(mumble) ..
Claim difficult to know how to separate.. Claim try to extract structutre
relationships from alg....good since data relationships inherently more
static than executing algorothm. therefore need good notation to show
relat... In LISp box-not helpgful ..generalooze.
There should be a resurgence of graphical languages.
structured programming ...abstract rep of data obj.
auto programming...simpler algor
abstract programming(≡structured prog)
selectors
predicates
constructors
give example of stepup for M&B
give simple example
do dominoes
differnece between selection and testing: can't select => prog error
test fails => Fail rule.
question: what about negation: does not exist link-node such that ....
from ambit/l
In daigrammativac form, collection of data tekes on machine-like form.
changing in certain places..relatively fixed in others. Apparently
difficult algorithm can be made easy by selecting appropriate structuring of data
change of rep. ...think of good example
imprtant terminology:
data graph
functionality: only point to one
permanance: no new links or nodes
call nodes: allows function to return many results...good!!
accessibility: every node in rule must be assessible; either named or
reachable lthrough acces. chain.
block: box+name+S:name+F:name
struture of match: parallel walk; can be done efficiently
abstraction from data graph is set of triples. makes clear what is essential
in daigram...triple: node origin, label on link, node destination.
more on G vol 1
characteristic activity of software constr is design and use of complicated
data structures rather than progr. Complicated prog often turns out to be
ill-understood data rep. therefore emphasis is on data. after that
sorted out THEN start prog.
Textual linear notations are ill-suited for description of structure therefore
ill-suited to data structure rep.
GOOD!!! "We do not intend that the programmer write out a large data
graph; an architect does not drwa every brick and nail of his building."
on constraints on data graph: lot is redundant helps to erro check like typing
GOOD!!!! because of thier origins in mathematics, HLL develooped under a
philosophy which suppresses description of data.
No attractive notation for structures; closest is LISP box AMBIT is generalization.
also want notation whcih maps efficiently to machine prog.
good,good:
" The consequences of this state of affairs is simple. Programs in structure mani
pulation are largely incomprehensible. AA program whose input-output
properties are simple( for example, syntax analyzer o parser)
has inner mechanisma which are unreasonably obscure. Both machines and
people have difficulty interpreting these programs. Programmers cannot read
other people's programs, and machine cannot execute programs whcih run on
others machines. Nost serious of all, a programmer has poor understanding
of a program even as he writes it."
Much of the complexity of programming in these areas does norise fro complrxity of
algo. Wht appears to be a complicated prog can often be shown to be a poor rep
of simpl algor. which operates on compliatesd daa. Because the means rafor representing
and conceptualizing the data are weak, the program becomes complicated.